Oscar Agustín Loyola-Valenzuela
Universidad Autónoma de Chile. Santiago de Chile, Chile
Unidades Tecnológicas de Santander -UTS. Bucaramanga, Colombia
josedavidortiz@correo.uts.edu.co
Universidad Autónoma de Chile. Santiago de Chile, Chile
Universidad Autónoma de Chile. Santiago de Chile, Chile
Abstract
Our proposal introduces a novel application of Matsuoka’s Central Pattern Generator (CPG) algorithm to bio-inspired robotics, with an emphasis on aquatic locomotion. By adapting the algorithm based on Matsuoka’s model, we enable its translation from continuous to discrete form, ensuring its compatibility with digital processors for real-time robotic control. The method demonstrates a remarkable improvement, exhibiting a performance rate approximately 50% higher than that achieved with traditional algorithms such as Pulse Width Modulation (PWM). The refinement of the control algorithm within bio-inspired robotic systems allows for a replication of fish-like movements more closely aligned with natural behaviors.
This paper delves into the CPG algorithm’s architecture, which has been modified to address discrete processing requirements without sacrificing the fluidity of biomimetic motion. We present empirical evidence showing our algorithm’s superiority to conventional control strategies by examining the robot’s enhanced capability to mimic accurate and efficient swimming patterns. Notably, the application of this algorithm reduces temporal errors and delivers a marked enhancement in underwater robotic performance. Our findings indicate a promising direction for future research and application in the field of robotic swimming, suggesting a paradigm shift in the approach to robotic movement inspired by biological systems.
Keywords: CPG, Bio-inspired, Robotics, Nonlinear control, Matsuoka Oscillator.
Resumen
Nuestra propuesta introduce una aplicación novedosa del algoritmo Generador de Patrones Centrales (CPG) de Matsuoka en la robótica bioinspirada, centrada en la locomoción acuática. Adaptando el algoritmo al modelo de Matsuoka, facilitamos su conversión de forma continua a discreta, asegurando su compatibilidad con procesadores digitales para el control robótico en tiempo real. El método demuestra una mejora considerable, con una tasa de rendimiento aproximadamente un 50% superior a la alcanzada con algoritmos tradicionales como la Modulación de Ancho de Pulso (PWM). El refinamiento del algoritmo de control en sistemas robóticos bioinspirados permite una replicación de movimientos similares a los de los peces más cercana a los comportamientos naturales.
Este artículo explora en detalle la arquitectura del algoritmo CPG modificado para satisfacer los requisitos de procesamiento discreto sin perder la fluidez del movimiento biomimético. Presentamos evidencia empírica de la superioridad de nuestro algoritmo sobre las estrategias de control convencionales, examinando la capacidad mejorada del robot para imitar patrones de natación precisos y eficientes. Significativamente, la aplicación de este algoritmo reduce los errores temporales y proporciona una mejora notable en el rendimiento robótico bajo el agua. Nuestros hallazgos señalan una dirección prometedora para la investigación futura y la aplicación en el campo de la natación robótica, sugiriendo un cambio de paradigma en el enfoque del movimiento robótico inspirado en sistemas biológicos.
To cite this paper:
O. Loyola-Valenzuela, J. Ortiz-Cuadros, L. Reyes-Bozo & J. Vidal-Rojas, “New approach in robot navigation trough Matsuoka CPG neuron,” INGE CUC, vol. 20, no. 2, 2024. DOI: https://dx.doi.org/10.17981/ingecuc.20.2.2024.08
Interest in the use of central pattern generators (CPGs) has been due to its ability to emulate the behavior of the neural ensemble which allows the execution of rhythmic displacements without the use of feedback [8]. Multiple problems have been addressed, as can be seen in the work of [10] where an algorithm based on PPOC policies is employed to generate the input patterns in a CPG network that are subsequently used in the navigation of a snake-based robot. On the other hand, the work of [22] employs Matsuoka’s algorithm to emulate the adaptability of walking in humanoid type robots. Other illustrations include the work of [12] where Matsuoka’s algorithm is used in robot walking, the generation of chewing rhythms [25] or the control of traffic signals [6].
With the common denominator of emulating biological movements [28], within the context of biomimetic robots it is possible to find the use of different pattern generation techniques, some based on Hopf networks [19] or nonlinear oscillators like the one described in [21]. In this last aspect the use of the Matsuoka oscillator [14] is not seen as an employed strategy according to what is discussed in [5], where the use of both open-loop strategies such as some CPGs and more traditional strategies such as a PID [26] are pointed out.
The use in bio-inspired robotics [9] implies that the algorithms have a better approximation to their biological behavior, as mentioned in the work of [7], describing the construction of a control oscillator for a hexapod robot. The use in the control of how an element swims can be observed through the work developed by [17], where sine generators are used to emulate a displacement style closer to eels. The use of this type of algorithm is a mainstay in fish dynamic emulation. This appears in various studies where similar closed-loop models are used, as in [15] or [1], detailing the construction of a bio-inspired robot that is subsequently controlled by a CPG based on lamprey movements.
The study of different bio-inspired robots’ swimming dynamics[20] proposes a research area where models based on CPG algorithm application possess a relevant interest when mixed with other types of algorithms. Examples of this include the works of [2] and [3] where algorithms involving a fuzzy component are developed to improve navigation systems’ performance.
Considering the previous background, the motivation for developing an algorithmic comparison between open-loop elements arises to evidence the performance of an implemented CPG system compared to a classical system such as PWM, due to the low influence of Matsuoka’s algorithm as a swimming algorithm for a bio-inspired robot.
The oscillator proposed by Matsuoka will be used, because the model takes into consideration that each neuron will receive different magnitudes in its external inputs. Unlike the other CPGs that receive signals from equal inputs, the model uses the weight of the synapse so that the neuron is able to adapt [13]. This means that it can decrease its firing rate when receiving a constant energy stimulus.
It should be noted that the signal generated by this model is closer to natural fish fin movement than the other proposed CPGs [14].
2.1 Matsuoka CPG model
The dynamic open-loop control model is defined as:
(1)
(2)
(3)
Where i and j represent the neurons (1 and 2 respectively), xi the state of the neuron i, si the stimulating input, fi represents the degrees of fatigue or adaptation of the neuron, yi the firing rate, Tri constant rise time, Tai constant adaptation time, aij is the weight of the inhibitory connection of the neuron. bi is the adaptation of the firing rate, qi is the exponent by the effect of adaptation and g(xi) corresponds to the threshold function [14], Figure 1.
The oscillator model was simulated on a computer with the Windows 10 Home Single Language operating system, 64-bit, on an AMD Ryzen 7 4800H processor, in the MATLAB R2023b SIMULINK environment, where Figure 1 shows the complete model structure.
Figure 1. Oscillator structure with 2 neurons connected, along with the stimulus connection.
The values used in the model constants were obtained in [12] for the signal calibration to be sent to the robot actuator. The result of these values can be seen in Figure 2, where both neurons are plotted, highlighting how the model operates. The graph complies with Matsuoka’s postulate, describing a controlled descent after reaching its maximum amplitude. This behavior is called adaptation and is the characteristic that Matsuoka’s model takes into consideration when analyzing real neuronal behavior.
Figure 2. Behavior of the calibrated Matsuoka 2-neuron model.
2.2 Comparison signal
The comparison signal to be used corresponds to a vector that will contain the values of the operating range of the robot, generating a forward and backward movement as shown in Figure 3. These displacements will be reflected in the fish fin by means of a PWM algorithm that will represent the base comparison algorithm [32].
Figure 3. Flap motion vector for comparison with the applied CPG.
For CPG implementation, the robot fish to be used will first be described, together with the range and its characteristics. The responses of the end effector to the signal sent will then be analyzed. The control structure used can be visualized in Figure 4, showing the control loop of the system.
Figure 4. Control structure used in the robot fish.
3.1 Robot characteristics
The robot used is a FESTO brand from the bionic4education line. This robot has a single servo motor located in the middle of its structure, in its upper part, connected to the flipper to generate the movement as shown in Figure 5. The servo motor used is the Carson 500502015 Standard Servo, which was modified to measure the effective position of the equipment. The controller is an Arduino Nano 33 IOT, with a Cortex M0+SAMD21 processor and a 256KB memory.
Figure 5. Test robot for oscillator application.
The values reached by the servomotor and by the flap mechanics are defined, ranging from 45.17 degrees to approximately 84.7 degrees. These values can be seen applied in Figure 6.
Figure 6. a) Fin with 4 5.17 degrees. b) Fin with 84.7 degrees.
3.2 Behavior of the Matsuoka CPG
The behavior of the oscillator sent to the servomotor and its response can be seen in Figure 7, where the adaptation of the neuron can be seen. This is reflected in the upper part of the signal, since, after reaching the maximum value, it descends to a minimum which is maintained over time.
Figure 7. a) Plot of the Matsuoka oscillator. b) Plot corresponding to the signal generated by the servo motor response
3.3 Comparison signal behavior
As shown in Figure 8, graph a) shows the motion vector sent to the servomotor over time and b) shows the response to the signal sent.
Figure 8. a) Plot of the signal generated by the flap motion vector. b) Plot of the servomotor response.
The results obtained have two behaviors that are subsequently opposed. The first one corresponds to the response obtained from the Matsuoka oscillator and the second one is the PWM response based on a position vector.
4.1 Oscillator results
In Figure 9, graph a) corresponds to the pulse train that was sent from the controller to the servomotor, followed by the behavior of the servomotor that can be visualized in graph b). It is worth mentioning that the behavior is much closer to the dynamics proposed by Matsuoka.
Figure 9. a) Plot of the pulse train sent by the controller used to the end effector. b) Plot representing the voltage at the servomotor potentiometer interpreted at the servomotor position.
4.2 Position vector results
The pulse train of the position vector is shown in graph a) of Figure 10. The result of this displacement is shown in graph b) where the potentiometer of the end effector represents its position according to the measured voltage. It should be noted that for both the oscillator and the position vector, the same control voltage was used.
Figure 10. a) Plot of the pulse train of each position sent to the servo. b) Plot of the voltage that the potentiometer has in each servo position change generated by the vector.
4.3 Indicators
Error-based performance indicators were used for the evaluation of the oscillator and the position vector, as in [16] and [18]. On the other hand, an indicator evaluating the dispersion of the observed versus predicted data was also used. In the first case, the dispersion indicator was used. This is seen in Equation # 4, where the predicted ones will be the values sent to the servomotor, while the observed ones are the measurements taken at the end-effector potentiometer.
(4)
oi: observed values
pi:predictes values
Then, from Equation (5) to (8), the indicators based on the error between the received value and the value performed by the servo are used, with the assignment of the predicted and observed values mentioned above as reference.
(5)
(6)
(7)
(8)
The values obtained for the indicators in both cases are shown in Table 1.
Indicators used to evaluate the Matsuoka oscillator.
|
Indicator |
Matsuoka |
PWM |
|
IAE |
830 |
1638.5 |
|
ISE |
6279.1 |
184369 |
|
ITAE |
6342.4 |
12300 |
|
ITSE |
492714.1 |
1284712.1 |
|
RSD |
0.9009 |
0.9937 |
As can be seen in Table 1, the values of the CPG model have a great advantage in comparison with the PWM algorithm since the values reached by the error-based indicators, in the first case, are approximately half of the position vector. This shows that the proposed oscillator model is much more efficient compared to tracking position trajectories set to generate the flap motion.
When observing the values reached by the RSD in both cases, the CPG has a lower dispersion compared to the vector, suggesting that in the analysis time which the models faced, the oscillator was better suited to track the signal trajectory than the vector used.
In conclusion, the data gathered and the indicators applied to both models demonstrate that the Matsuoka oscillator has a considerable advantage over PWM for trajectory tracking applications. This finding is significant in the field of bio-inspired robotics, providing a robust foundation for future technological applications. Looking ahead, we intend to adapt this oscillator for use across a variety of technologies and studies related to using CPG as a pattern source for generating motion in aquatic robots. Specifically, we aim to apply our research to enhance energy efficiency and precision in the locomotion of underwater robots tasked with environmental monitoring, search and rescue operations, or oceanographic studies. Furthermore, we propose to explore the integration of this approach with artificial intelligence systems to facilitate adaptability and autonomy in robotic behavior in dynamic environments. These endeavors will not only advance the technological development of aquatic robots but also contribute to the understanding of fundamental principles of locomotion in living organisms, underscoring the interdisciplinary relevance and potential impact of our research across multiple scientific and applied domains.
Oscar Agustín Loyola-Valenzuela: Conceptualization, Methodology, Formal analysis, Supervision, Writing - Proofreading and editing.
José David Ortiz-Cuadros: Research, Data Curation, Software, Writing - Original Draft.
Lorenzo Reyes-Bozo: Review and editing, Visualization, Validation, Supervision.
Juan Carlos Vidal-Rojas: Review and editing, Visualization, Validation, Supervision.
[1] Ay, Mustafa and Korkmaz, Deniz and Ozmen Koca, Gonca and Bal, Cafer and Akpolat, Zuhtu Hakan and Bingol, Mustafa Can. Mechatronic design and manufacturing of the intelligent robotic fish for bio-inspired swimming modes. Electronics, 2018, 7(7), 118, doi:10.3390/electronics7070118.
[2] Bal, Cafer and Koca, Gonca Ozmen and Korkmaz, Deniz and Akpolat, Zuhtu Hakan and Ay, Mustafa. CPG-based autonomous swimming control for multi-tasks of a biomimetic robotic fish. Ocean Engineering, 2019, 189, https://doi.org/10.1016/j.oceaneng.2019.106334.
[3] Cao, Yong and Lu, Yang and Cai, Yueri and Bi, Shusheng and Pan, Guang. CPG-fuzzy-based control of a cownose-ray-like fish robot. Industrial Robot: the international journal of robotics research and application, 2019, 779-791, DOI 10.1108/IR-02-2019-0029.
[4] Dipankar Bhattacharya, Leo K. Cheng, Steven Dirven and Weiliang Xu. Artificial Intelligence Approach to the Trajectory Generation and Dynamics of a Soft Robotic Swallowing Simulator. Advances in Intelligent Systems and Computing, 2019, 751, 3-16, https://doi.org/10.1007/978-3-319-78452-6_1.
[5] Duraisamy, Palmani and Sidharthan, Rakesh Kumar and Santhanakrishnan, Manigandan Nagarajan. Design, modeling, and control of biomimetic fish robot: a review. Journal of Bionic Engineering, 2019, 16, 967-993, DOI: https://doi.org/10.1007/s42235-019-0111-7.
[6] Fang, FC and Xu, WL and Lin, KC and Alam, Fakhrul and Potgieter, Johan. Matsuoka neuronal oscillator for traffic signal control using agent-based simulation. Procedia Computer Science, 2013,19,389-395, doi: 10.1016/j.procs.2013.06.053.
[7] Garcia-Saura, Carlos. Central pattern generators for the control of robotic systems. arXiv preprint arXiv:1509.02417, 2015.
[8] Grillner, Sten. Biological pattern generation: the cellular and computational logic of networks in motion. Neuron, 2006, 52(5), 751-766. DOI 10.1016/j.neuron.2006.11.008.
[9] Lee, Chiwon and Kim, Myungjoon and Kim, Yoon Jae and Hong, Nhayoung and Ryu, Seungwan and Kim, H Jin and Kim, Sungwan. Soft robot review. International Journal of Control, Automation and Systems, 2017, 15(1), 3-15, http://dx.doi.org/10.1007/s12555-016-0462-3.
[10] Liu, Xuan and Gasoto, Renato and Jiang, Ziyi and Onal, Cagdas and Fu, Jie. Learning to locomote with artificial neural-network and cpg-based control in a soft snake robot. 2020 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), 2020, 7758-7765.
[11] Lu, Qiang and Zhang, Zhaochen and Yue, Chao. The programmable CPG model based on Matsuoka oscillator and its application to robot locomotion. International Journal of Modeling, Simulation, and Scientific Computing, 2020, 11(3), 2050018. DOI: 10.1142/S179396232050018X.
[12] Matsuoka, Kiyotoshi. Analysis of a neural oscillator. Biological cybernetics, 2011, 104(4), 297-304.
[13] Matsuoka, Kiyotoshi. Mechanisms of frequency and pattern control in the neural rhythm generators. Biological cybernetics, 1987, 56(5), 345-353.
[14] Matsuoka, Kiyotoshi. Sustained oscillations generated by mutually inhibiting neurons with adaptation. Biological cybernetics, 1985, 52(6), 367-376.
[15] Ozmen Koca, Gonca and Bal, Cafer and Korkmaz, Deniz and Bingol, Mustafa Can and Ay, Mustafa and Akpolat, Zuhtu Hakan and Yetkin, Seda. Three-dimensional modeling of a robotic fish based on real carp locomotion. Applied Sciences, 2018, 8(2), 180. doi:10.3390/app8020180.
[16] Özdemir, Mahmut Temel and Öztürk, Dursun. Comparative performance analysis of optimal PID parameters tuning based on the optics inspired optimization methods for automatic generation control. Energies, 2017, 10(12), 2134. DOI: 10.3390/en10122134.
[17] Scaradozzi, David and Palmieri, Giacomo and Costa, Daniele and Pinelli, Antonio. BCF swimming locomotion for autonomous underwater robots: a review and a novel solution to improve control and efficiency. Ocean Engineering, 2017, 130, 437-453. DOI: http://dx.doi.org/10.1016/j.oceaneng.2016.11.055.
[18] Soni, Yogendra Kumar and Bhatt, Rajesh. BF-PSO optimized PID controller design using ISE, IAE, IATE and MSE error criteria. International Journal of Advanced Research in Computer Engineering \& Technology (IJARCET), 2013, 2(7), 2333-2336.
[19] Wang, Ming and Yu, JunZhi and Tan, Min and Zhang, JianWei. Multimodal swimming control of a robotic fish with pectoral fins using a CPG network. Chinese science bulletin, 2012, 57(10), 1209-1216. DOI: 10.1007/s11434-012-5005-6.
[20] Wang, Wei and Dai, Xia and Li, Liang and Gheneti, Banti H and Ding, Yang and Yu, Junzhi and Xie, Guangming. Three-dimensional modeling of a fin-actuated robotic fish with multimodal swimming. IEEE/ASME Transactions on Mechatronics, 2018, 23(4), 1641-1652. DOI: 10.1109/TMECH.2018.2848220.
[21] Wang, Wei and Gu, Dongbing and Xie, Guangming. Autonomous optimization of swimming gait in a fish robot with multiple onboard sensors. IEEE Transactions on Systems, Man, and Cybernetics: Systems, 2017, 49(5), 891-903. DOI: 10.1109/TSMC.2017.2683524.
[22] Wang, Yong and Xue, Xihui and Chen, Baifan. Matsuoka’s CPG with desired rhythmic signals for adaptive walking of humanoid robots. IEEE transactions on cybernetics, 2018, 50(2),613-626.
[23] Xie, Fengran and Du, Ruxu. Central pattern generator control for a biomimetic robot fish in maneuvering. 2018 IEEE International Conference on Robotics and Biomimetics (ROBIO), 2018, 268-273.
[24] Xie, Fengran and Zhong, Yong and Du, Ruxu and Li, Zheng. Central pattern generator (CPG) control of a biomimetic robot fish for multimodal swimming. Journal of Bionic Engineering, 2019, 16(2), 222-234, DOI: https://doi.org/10.1007/s42235-019-0019-2.
[25] Xu, WL and Fang, F Clara and Bronlund, J and Potgieter, J. Generation of rhythmic and voluntary patterns of mastication using Matsuoka oscillator for a humanoid chewing robot. Mechatronics, 2009, 19(2), 205-217, doi:10.1016/j.mechatronics.2008.08.003.
[26] Yen, Wei-Kuo and Sierra, Daniel Martinez and Guo, Jenhwa. Controlling a robotic fish to swim along a wall using hydrodynamic pressure feedback. IEEE Journal of Oceanic Engineering, 2018, 43(2), 369-380. DOI: 10.1109/JOE.2017.2785698.
[27] Yu, Junzhi and Chen, Shifeng and Wu, Zhengxing and Chen, Xingyu and Wang, Ming. Energy analysis of a CPG-controlled miniature robotic fish. Journal of Bionic Engineering, 2018, 15(2), 260-269, DOI: https://doi.org/10.1007/s42235-018-0020-1.
[28] Yu, Junzhi and Tan, Min and Chen, Jian and Zhang, Jianwei. A survey on CPG-inspired control models and system implementation. IEEE transactions on neural networks and learning systems, 2013, 25(3), 441-456. DOI: 10.1109/TNNLS.2013.2280596.
[29] Yu, Junzhi and Wang, Ming and Dong, Huifang and Zhang, Yanlu and Wu, Zhengxing. Motion control and motion coordination of bionic robotic fish: A review. Journal of Bionic Engineering, 2018, 15(4), 579-598. DOI: https://doi.org/10.1007/s42235-018-0048-2.
[30] Yu, Junzhi and Wu, Zhengxing and Wang, Ming and Tan, Min. CPG network optimization for a biomimetic robotic fish via PSO. IEEE transactions on neural networks and learning systems, 2015, 27(9), 1962-1968. DOI: 10.1109/TNNLS.2015.2459913.
[31] Zhang, Xue and Pan, Tianle and Heung, Ho Lam and Chiu, Philip Wai Yan and Li, Zheng. A biomimetic soft robot for inspecting pipeline with significant diameter variation. IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), 2018, 7486-7491.
[32] Zhou, Chao and Tan, Min and Gu, Nong and Cao, Zhiqiang and Wang, Shuo and Wang, Long. The design and implementation of a biomimetic robot fish. International journal of advanced robotic systems, 2008, 5(2), 185-19