Membrane computing models and robot controller design, current results and challenges
- 79 Downloads
Abstract
Designing membrane controllers for single- and multi-robot systems is an application area initiated in 2011 at the Laboratory of Natural Computing and Robotics (natuRO) of the Politehnica University of Bucharest. In this paper, an overview of natuRO’s research on the design of robot controllers based on various models of membrane systems is given. After an introduction to robotics and natural computing, this paper follows multiple directions. Firstly, a description of three membrane system simulators is given, taking into account their evolution, comparative capabilities, and application areas for each of them. Secondly, the main part of this paper is a synopsis of the applications of membrane systems in robot control, while an emphasis is paid to the new membrane computing models introduced at natuRO, Enzymatic Numerical P Systems and XP colonies, and their specific use in single- and multiple-robot applications. Thirdly, the paper continues with a critical overview of the performances of membrane controllers as compared to traditional ways to control single- and multiple-robot systems, current challenges and possible ways to overcome these. Example avenues for future related works are given in the conclusion.
Keywords
Membrane computing Numerical P systems Robotics Robot control Multi-robot systems Drones Embedded system1 Introduction to robotics and natural computing
Robotics deals with the design, creation, operation, and use of robots. Robots are advanced mechatronic systems that are able to act on behalf of human users to fulfill tasks that are too difficult, too dangerous, too dirty, etc. for humans to perform. Robots are endowed with multiple sensors that allow them to sense the environment, and with actuators and end-effectors that allow them to act upon (and modify) the environment. In between the sensors and actuators/end-effectors lies the “brain” of the robot, or the robot controller(s). In a way, one can say that robotics (in general) is (concerned with the design of) the “intelligent” connection between sensing and action.
Robots and robotics technology are involved in a large number of market domains [29]: manufacturing domain, healthcare, agriculture domain, civil, commercial, transport and logistics, and consumer, and consequentlty the applications are extremely diverse, e.g., machining [32], window cleaning [31], robotic surgery [31], human-robot interaction [6], etc.
Robot technologies and their end result
Robot technology | Purpose |
---|---|
Systems Development | Better systems and tools |
Human Robot Interaction | Better interaction |
Mechatronics | Making better machines |
Perception, Navigation and Cognition | Better action and awareness |
Robots and drones at naturRO
Top ten grand challenges in robotics
No. | Robotics grand challenges |
---|---|
1 | New materials and fabrication schemes |
2 | Biohybrid and bioinspired robots |
3 | New power sources, battery technologies, and energy-harvesting schemes |
4 | Robot swarms |
5 | Navigation and exploration in extreme environments |
6 | Fundamental aspects of artificial intelligence (AI) for robotics |
7 | Brain–computer interfaces |
8 | Social interaction |
9 | Medical robotics |
10 | Ethics and security |
A particular area that naturRO is very much interested in is the fourth in the table above, swarm robotics. A robotic swarm is composed of many (so many that are difficult to count) simple (rudimentary) robots, usually with limited sensory capabilities and inter-robot communication mechanisms. Most of the time the communication between robots is indirect, i.e., through the environment (see the concept of stigmergy detailed below). Some of the experiments described in this overview involved simulated and real swarms of Kilobot robots (Figs. 2 and 3).
Some of the recent natuRO experiments have utilized robot-operating system (ROS), which is the most used open-source robotics middleware [37].
- 1.
bioinspired problem-solving techniques;
- 2.
the use of natural materials for computations;
- 3.
the use of computers to replicate natural phenomena.
Among the most known natural computing paradigms are fuzzy logic, neural networks, evolutionary algorithms, swarm intelligence, DNA computing, artificial immune systems and many others.
Fuzzy logic systems have a long tradition of successful applications in designing controllers for robots and autonomous vehicles. Nowadays, this is still a fruitful area, with diverse applications, such as for soccer robots [1] and mobile robot navigation [22, 23].
Neural networks have been successfully applied to the control of robotic manipulators and mobile robots [8, 21, 35]. Evolutionary algorithms have demonstrated their power and efficiency in optimizing traditional and “intelligent” robot controllers [3, 16, 19], including a mobile robot path planning using membrane evolutionary artificial potential field [24].
Biomimetics deals with the design of artificial systems (e.g., robots) that are inspired by natural structures that evolved to optimal designs in millions of years of evolution. Biohybrid and bioinspired robots (challenge 2 in Table 2) are gaining momentum, see for example the proliferation of soft robots [17, 20].
2 Results of membrane systems applied in robot control
- 1.
numerical P systems (NPS);
- 2.
enzymatic numerical P systems (ENPS);
- 3.
P colonies (Pcol);
- 4.
XP colonies (XPcol).
The membrane systems were introduced by the user using a tree-based graphical user interface which allowed even novice users to test out models. Based on SNUPS, the first NPS-based robot controller was also introduced in [2] and evaluated in detail in [30].
However, there was room for improvement, as the controllers required a certain degree of programming knowledge from the user and were executed on top of other software stacks that also had their specific challenges.
Also, another improvement direction was in increasing the modeling power of the model by enhancing the core computational components. As such, the second step was the introduction of an NPS model extension, the ENPS [25]. This extension introduced two new computational features that proved to be necessary and useful in robotics applications. The first enabled models to simultaneously execute multiple programs, without randomly choosing one program from a set. This allowed for developing predictable robot controllers (and behaviors) that were multi-tasking. The second extension was the introduction of the (artificial) enzyme, a biological concept that in the context of MC was interpreted as a way of controlling the executability of programs using one or more special P objects. By analogy, a transistor allows the current on one electric line to control the current on a separate line, thus offering a means of dynamically changing the behavior of the circuit. In terms of MC, this means that the model can be designed to enable or disable certain programs depending on runtime conditions [25].
The study of PS-based models for robot control continued in [5], where the proposed control model was thoroughly evaluated in terms of modeling power and controller performance. The modeling power was validated by implementing various classical robot behaviors using PS, such as Braitenberg vehicles for obstacle avoidance and following the leader [5]. The controller performance was assessed by measuring the execution time of the model for each behavior.
Although current results allowed for remote robot control using MC models, the complexity of the software stack was a prohibiting factor toward deploying the control models on-board, in an embedded environment. The programming paradigms used for SNUPS (object-oriented programming in Java) were high level and required desktop PCs with multi-tasking operating systems to run. Also, the simulator and associated controllers had not been designed with resource efficiency in mind, but rather had a user-oriented design instead of an application-oriented design.
In this direction, the next step had two aims. Firstly, there was a shift toward a simpler MC model, the P colony, which was theoretically less costly to execute, and resource-wise. Secondly, due to the fact that no P colony simulator was available, one was implemented at natuRO (Lulu). This simulator was designed from the ground up with simplicity in mind and this was visible in the internal memory structure and execution loops of the simulator. These two aspects were discussed in [14], also in the context of robot control. Yet, in this case, the focus was not just on the control of a single robot, but rather a group of many, simple and (indirectly) interacting robots, known as a swarm. Thus, this paper opened the way for future research that attempted to model, not just the inputs/outputs of the robots but also their interaction as a group. The newly introduced simulator was written in Python, a modern and efficient language, and was designed to parse a text description of a Pcol model and afterward executes it step by step, all in a lightweight terminal window.
Swarm of simulated Kilobots in a dispersion experiment
The robots were able to interact with one another using the concept of stigmergy, an information exchange mechanism that does not require direct message exchanges [18].
Swarm of real Kilobots performing a segregation experiment
An example of a swarm of Kilobots is shown in Fig. 3, where the robots execute a color segregation experiment. Their task is to select one of the three differently colored leader from the inner circle and reach a consensus. If a consensus cannot be reached, the robots attempt to randomly move out of the communication range of their neighbors.
One of natuRO’s scientific goals is to bring MC models down from the centralized PC toward the low-level microcontroller that powers most robots, to achieve truly scalable, local control. This was finally achieved and thoroughly discussed in [11], where an embedded version of the Lulu P colony simulator and an associated robot controller were presented. The two applications were ported from Python to C and their internal models were optimized in the process. This allowed the two applications to be executed on 32 MHz microcontrollers that had only 2 KB of RAM memory and 32 KB of program memory. The implementation details as well as other technical aspects are discussed in [9].
Having obtained an embedded-ready MC robot controller, it was time for a detailed evaluation of these contributions, in direct comparison with simpler models, such as finite state machines and even with model-less applications. These results were presented in [15] in the context of distributed multi-robot applications with a key emphasis on interaction, scalability and performance. It was shown that P/XP colonies could successfully compete with simpler models and even model-less designs in applications such as distributed color segregation. This specific application was chosen for its complexity and dependency on direct information exchange between robots, an aspect that was handled at the model level using the previously introduced XPcol and exteroceptive rules. The results were validated in simulations of up to 50 robots and real swarms of 16 robots and showed that despite the higher model complexity of the proposed XPcol controller, the differences in mean execution time and energy consumption were not significant [15].
Although lightweight and efficient, Pcol and XPcol models offer only a discrete output and are thus not suitable for numerical control applications. The alternative are of course NPSs and ENPSs that were previously discussed. However, initial attempts to use these models relied on specialized code that could only be executed on a particular type of robot and was not easily portable.
Instead, one could use ROS that allows one application to interact with various types of robots by defining standard communication channels that are common across robot manufacturers and thus ensures a great level of portability [27].
Drone navigation using fiducial tags and an ENPS controller
Most recently, this ROS integration of an NPS/ENPS controller was used to build a high-level path planner for use on a drone [13]. The MC controller is capable of moving the drone (shown in Fig. 4) from the ground toward a specific 3D waypoint and maintain a constant height, near that waypoint. The actual position of the waypoint is not prior known, but is detected at run-time using fiducial markers and fed as an input to one of the membranes. Although promising, this advent has also highlighted one of the disadvantages of NPSs, that of execution complexity.
Other research groups have also explored the potential of MC in robot control, most of their applications being based on natuRO’s ENPS (or variants). In [33], trajectory tracking control approach for nonholonomic wheeled mobile robots was approached by using ENPSs. In [34], the problem approached was the multi-objective mobile robot path planning in a dangerous environment with dynamic obstacles, while the solution combined membrane systems with particle swarm optimization. Chapter 6 in [38] is devoted to using NPSs and ENPSs to design MC-based controllers for mobile robots. In [26], a variant of ENPS, called Random Enzymatic Numerical P systems with Proteins and Shared Memory (RENPSM) was used to address the implementation of rapidly exploring random trees (RRT) algorithms to be applied in robot motion planning problems.
3 Limitations, challenges and solutions
Research into the use of MC models for the control of single- or multi-robot systems has offered many insights regarding the design of such models. Nonetheless, there were also challenges and possible bottlenecks that were identified along the way. This section attempts to summarize such limitations and to highlight possible solutions.
Probably, the most important challenge encountered during development was that of memory limitations on embedded systems. This was mostly encountered when working with Pcol/XPcol models on Kilobot robots [9, 11, 15]. These limitations refer both to computational memory (random access memory, RAM) as well as stored program memory. The former is necessary because at the very minimum, an entire Pcol program must be loaded in memory for it to be checked whether it is executable. The latter is also needed to store the entire set of programs and P objects that make up a Pcol. Apart from the memory requirements of the model, there are also those of the Pcol/XPcol simulator that also introduces a considerable overhead [9]. Through careful optimizations, the memory overhead was reduced by 50% but it still remains a stringent restriction for embedded use. One such solution was the compression of P colony programs that contained repetitive rules into a single rule and a marker that specified the number of repetitions of that particular rule. For example, P colonies often employ auxiliary rules such as \(e \rightarrow e\) which can be compressed. During runtime, the process is reversed, by reading the marker and checking the entire program as if it would actually contain the left-out auxiliary rules.
Any memory optimizations have the associated risk of introducing execution time latency. This aspect was also studied and its effects were shown to not always be negative. For instance, although the XPcol model had a larger execution time than the finite state machine model, this difference was not observable for real robots that have a slow movement speed [15]. On the other hand, for applications that require a strict timing, any fluctuations of the execution time of a simulation loop will negatively affect model performance. This was seen for the drone path planner [13], where directly sending pulse width modulation (PWM) signals to the motors at a rate of 500 Hz was proved much too short for an NPS controller that was capable of a loop execution rate of only 100 Hz.
Finally, one last aspect was that of language expressivity where highly complex dependencies between P objects in a P colony had to be expressed using several sequential programs that incrementally prepared an output command from an input value. This meant that the Pcol models were larger and more difficult to review and debug as the flow of information had to be analyzed at each execution step. This problem was also present for NPS models where a complex real-life behavior could only be modeled by adding support for new mathematical functions that can be used to compose new programs.
4 Conclusions and future work
This article presents a summary of the work carried out at natuRO in applying MC-based models to single- and multi-robot systems. New open-source simulators have been introduced that allow the interested researchers to first simulate their controllers based on traditional MC models, such as NPSs, ENPSs, and P colonies. The potential of MC in robot control has been explored in a number of challenging applications over the last 10 years, like the multi-robot (or swarm robotics) control. Research carried out at natuRO has inspired other groups to follow this direction and explore new PSs variants and to explore new applications in robot control. A number of advantages and limitations have been identified and discussed with lots of details in a number of papers.
- 1.
Extending the library of NPSs models with new models that are amenable to more complex robot control applications.
- 2.
Implement these models on parallel computing hardware (such as FPGAs) and so extend the application areas to more complicated robots that need faster reaction times while minimizing FPGA memory resource usage and power consumption.
- 3.
An interesting and much needed development for the whole MC community would be the development of an USB device that brings MC inferencing to existing systems, much like an USB accelerator for machine learning applications.
Notes
References
- 1.Abiyev, R. H., Günsel, I., Akkaya, N., Aytac, E., Çağman, A., & Abizada, S. (2016). Robot soccer control using behaviour trees and fuzzy logic. Procedia Computer Science, 102, 477–484. https://doi.org/10.1016/J.PROCS.2016.09.430.CrossRefGoogle Scholar
- 2.Arsene, O., Buiu, C., & Popescu, N. (2011). SNUPS—A simulator for numerical membrane computing. International Journal of Innovative Computing, 7(6), 3509–3522.Google Scholar
- 3.Assis, L., Soares, A. D. S., Coelho, C. J., & Van Baalen, J. (2016). An evolutionary algorithm for autonomous robot navigation. Procedia Computer Science, 80, 2261–2265. https://doi.org/10.1016/J.PROCS.2016.05.404.CrossRefGoogle Scholar
- 4.Buiu, C., & Gansari, M. (2014). A New Model for Interactions Between Robots in a Swarm. In: Electronics, Computers and Artificial Intelligence (ECAI), 2014 6th International Conference On. pp. 5–10 (Oct 2014)Google Scholar
- 5.Buiu, C., Vasile, C., & Arsene, O. (2012). Development of membrane controllers for mobile robots. Information Sciences, 187(1), 33–51. https://doi.org/10.1016/j.ins.2011.10.007.CrossRefGoogle Scholar
- 6.Bustos, P., Manso, L., Bandera, A., Bandera, J., García-Varea, I., & Martínez-Gómez, J. (2019). The CORTEX cognitive robotics architecture: Use cases. Cognitive Systems Research, 55, 107–123. https://doi.org/10.1016/J.COGSYS.2019.01.003.CrossRefGoogle Scholar
- 7.de Castro, L. N. (2007). Fundamentals of natural computing: An overview. Physics of Life Reviews, 4(1), 1–36. https://doi.org/10.1016/J.PLREV.2006.10.002.CrossRefGoogle Scholar
- 8.Fang, W., Chao, F., Yang, L., Lin, C. M., Shang, C., Zhou, C., et al. (2019). A recurrent emotional CMAC neural network controller for vision-based mobile robots. Neurocomputing, 334, 227–238. https://doi.org/10.1016/J.NEUCOM.2019.01.032.CrossRefGoogle Scholar
- 9.Florea, A. G. (2018). Contributions to the Control of Collective Robotic Systems Using Membrane Computing. Phd thesis, Politehnica University of Bucharest, Bucharest, Romania.Google Scholar
- 10.Florea, A. G., & Buiu, C. (2016). Synchronized dispersion of robotic swarms using XP colonies. In: Electronics, Computers and Artificial Intelligence (ECAI), 2016 8th International Conference On. pp. 1–6. IEEE. https://doi.org/10.1109/ECAI.2016.7861107
- 11.Florea, A. G., & Buiu, C. (2017). Membrane computing for distributed control of robotic swarms: Emerging research and opportunities. IGI Global, USA. https://doi.org/10.4018/978-1-5225-2280-5,
- 12.Florea, A. G., & Buiu, C. (2017). Modelling multi-robot interactions using a generic controller based on numerical P systems and ROS. In: Electronics, Computers and Artificial Intelligence (ECAI), 2017 9th Edition International Conference On. p. in press. https://doi.org/10.1109/ECAI.2017.8166411.
- 13.Florea, A. G., & Buiu, C. (2019). Sensor fusion for autonomous drone waypoint navigation using ROS and numerical P systems: A critical analysis of its advantages and limitations. In: The 22nd international conference on control systems and computer science. p. accepted for publication. Bucharest, Romania.Google Scholar
- 14.Florea, A. G., & Buiu, C. (2016). Development of a software simulator for P colonies. Applications in robotics. International Journal of Unconventional Computing, 12(2–3), 189–205.Google Scholar
- 15.Florea, A. G., & Buiu, C. (2018). A distributed approach to the control of multi-robot systems using XP colonies. Integrated Computer-Aided Engineering, 25(1), 15–29. https://doi.org/10.3233/ICA-170554.CrossRefGoogle Scholar
- 16.Haiek, D. E., Aboulissane, B., Bakkali, L. E., & Bahaoui, J. E. (2019). Optimal trajectory planning for spherical robot using evolutionary algorithms. Procedia Manufacturing, 32, 960–968. https://doi.org/10.1016/J.PROMFG.2019.02.309.CrossRefGoogle Scholar
- 17.Hawkes, E. W., Blumenschein, L. H., Greer, J. D., & Okamura, A. M. (2017). A soft robot that navigates its environment through growth. Science Robotics, 2(8), eaan3028. https://doi.org/10.1126/scirobotics.aan3028.CrossRefGoogle Scholar
- 18.Heylighen, F. (2016). Stigmergy as a universal coordination mechanism I: Definition and components. Cognitive Systems Research, 38, 4–13.CrossRefGoogle Scholar
- 19.Larsen, L., Schuster, A., Kim, J., & Kupke, M. (2018). Path planning of cooperating industrial robots using evolutionary algorithms. Procedia Manufacturing, 17, 286–293. https://doi.org/10.1016/J.PROMFG.2018.10.048.CrossRefGoogle Scholar
- 20.Laschi, C., Mazzolai, B., & Cianchetti, M. (2016). Soft robotics: Technologies and systems pushing the boundaries of robot abilities. Science Robotics, 1(1), eaah3690. https://doi.org/10.1126/scirobotics.aah3690.CrossRefGoogle Scholar
- 21.Luan, F., Na, J., Huang, Y., & Gao, G. (2019). Adaptive neural network control for robotic manipulators with guaranteed finite-time convergence. Neurocomputing, 337, 153–164. https://doi.org/10.1016/J.NEUCOM.2019.01.063.CrossRefGoogle Scholar
- 22.Masmoudi, M. S., Krichen, N., Masmoudi, M., & Derbel, N. (2016). Fuzzy logic controllers design for omnidirectional mobile robot navigation. Applied Soft Computing, 49, 901–919. https://doi.org/10.1016/J.ASOC.2016.08.057.CrossRefGoogle Scholar
- 23.Mohanta, J., & Keshari, A. (2019). A knowledge based fuzzy-probabilistic roadmap method for mobile robot navigation. Applied Soft Computing, 79, 391–409. https://doi.org/10.1016/J.ASOC.2019.03.055.CrossRefGoogle Scholar
- 24.Orozco-Rosas, U., Montiel, O., & Sepúlveda, R. (2019). Mobile robot path planning using membrane evolutionary artificial potential field. Applied Soft Computing, 77, 236–251. https://doi.org/10.1016/J.ASOC.2019.01.036.CrossRefGoogle Scholar
- 25.Pavel, A. B., & Buiu, C. (2011). Using enzymatic numerical P systems for modeling mobile robot controllers. Natural Computing, 11(3), 387–393.MathSciNetCrossRefGoogle Scholar
- 26.Pérez-Hurtado, I., Pérez-Jiménez, M. J., Orellana-Martín, D., & Zhang, G. (2018). Simulation of rapidly-exploring random trees in membrane computing with P-lingua and automatic programming. International Journal of Computers, Communications and Control, 13(6), 1007–1031. https://doi.org/10.15837/ijccc.2018.6.3370.CrossRefGoogle Scholar
- 27.Quigley, M., Conley, K., Gerkey, B., Faust, J., Foote, T., Leibs, J., Wheeler, R., & Ng, A.Y. (2009). ROS: An Open-Source Robot Operating System. In: ICRA Workshop on Open Source Software. vol. 3, p. 5. Kobe.Google Scholar
- 28.Rubenstein, M., Ahler, C., & Nagpal, R. (May 2012). Kilobot: A Low Cost Scalable Robot System for Collective Behaviors. In: 2012 IEEE International Conference on Robotics and Automation (ICRA). pp. 3293–3298. Ieee. https://doi.org/10.1109/ICRA.2012.6224638.
- 29.SPARC, EuRobotics: Robotics Multi-Annual Roadmap. https://www.eu-robotics.net/sparc/about/roadmap/index.html).
- 30.Vasile, C. I. (2015). Distributed Control for Multi-Robot Systems. Phd, Politehnica University of Bucharest.Google Scholar
- 31.Vega-Heredia, M., Mohan, R. E., Wen, T. Y., Aisyah, J. S., Vengadesh, A., Ghanta, S., et al. (2019). Design and modelling of a modular window cleaning robot. Automation in Construction, 103, 268–278. https://doi.org/10.1016/J.AUTCON.2019.01.025.CrossRefGoogle Scholar
- 32.Verl, A., Valente, A., Melkote, S., Brecher, C., Ozturk, E., & Tunc, L. T. (2019). Robots in machining. CIRP Annals,. https://doi.org/10.1016/J.CIRP.2019.05.009.CrossRefGoogle Scholar
- 33.Wang, X., Zhang, G., Neri, F., Jiang, T., Zhao, J., Gheorghe, M., et al. (2015). Design and implementation of membrane controllers for trajectory tracking of nonholonomic wheeled mobile robots. Integrated Computer-Aided Engineering, 23(1), 15–30. 10.3233/ICA-150503.CrossRefGoogle Scholar
- 34.Wang, X. Y., Zhang, G. X., Zhao, J. B., Rong, H. N., Ipate, F., & Lefticaru, R. (2015). A modified membrane-inspired algorithm based on particle swarm optimization for mobile robot path planning. International Journal of Computers, Communications and Control, 10(5), 732–745. 10.15837/ijccc.2015.5.2030.CrossRefGoogle Scholar
- 35.Williams, H. A., Jones, M. H., Nejati, M., Seabright, M. J., Bell, J., Penhall, N. D., et al. (2019). Robotic kiwifruit harvesting using machine vision, convolutional neural networks, and robotic arms. Biosystems Engineering, 181, 140–156. https://doi.org/10.1016/J.BIOSYSTEMSENG.2019.03.007.CrossRefGoogle Scholar
- 36.Yang, G. Z., Bellingham, J., Dupont, P. E., Fischer, P., Floridi, L., Full, R., et al. (2018). The grand challenges of science robotics. Science Robotics, 3(14), eaar7650. https://doi.org/10.1126/scirobotics.aar7650.CrossRefGoogle Scholar
- 37.Zhang, L., Merrifield, R., Deguet, A., & Yang, G. Z. (2017). Powering the world’s robots—10 years of ROS. Science Robotics, 2(11), eaar1868. https://doi.org/10.1126/scirobotics.aar1868.CrossRefGoogle Scholar
- 38.Zhang, G., Pérez-Jiménez, M. J., & Gheorghe, M. (2017). Real-life applications with membrane computing, emergence, complexity and computation (Vol. 25). Cham: Springer. https://doi.org/10.1007/978-3-319-55989-6.CrossRefzbMATHGoogle Scholar