An Implementation of Communication, Computing and Control Tasks for Neuromorphic Robotics on Conventional Low-Power CPU Hardware
Abstract
:1. Introduction
2. Materials and Methods
2.1. General Concept of Conventional CPU as Neuromorphic Hardware
2.2. System Specification
2.3. Control Unit
2.4. Virtual MCU
2.5. Decision Unit
SNN Models
2.6. Software Stack
3. Results
3.1. Latency
3.2. Resources Consumption
3.3. Accuracy
4. Discussion
4.1. Advantages
4.2. Limitations
5. Conclusions
Author Contributions
Funding
Data Availability Statement
Conflicts of Interest
Abbreviations
AER | Address Event Representation |
AI | Artificial Intelligence |
ANN | Artificial Neural Network |
CNN | Convolutional Neural Network |
COBA | Conductance-Based (model) |
CPU | Central Processing Unit |
CU | Control Unit |
DC | Direct Current |
DU | Decision Unit |
DVS | Dynamic Vision Sensor |
GHz | Gigahertz |
GPIO | General Purpose Input/Output |
IR | Infrared |
ISM | Input Shared Memory |
LIF | Leaky Integrate-and-Fire (model) |
MCU | Microcontroller Unit |
MW | Megawatt |
OS | Operating System |
OSM | Output Shared Memory |
PCB | Printed Circuit Board |
PWM | Pulse-Width Modulation |
RAM | Random Access Memory |
SBC | Single Board Computer |
SNN | Spiking Neural Network |
STDP | Spike-Timing-Dependent Plasticity |
USB | Universal Serial Bus |
VM | Virtual Machine |
W | Watt |
Appendix A
Appendix A.1. Control Unit Algorithm
Algorithm A1 Control Unit algorithm |
Appendix A.2. Decision Unit Algorithm
Algorithm A2 Decision Unit Algorithm |
Appendix A.3
Appendix A.4
Appendix B
Appendix C
Appendix D
Model | Background | Ball | Speed (m/s) | Accuracy Labtop | Accuracy RaspiSNN |
---|---|---|---|---|---|
SNN128 | black | white | 0.5 | 0.775 | 0.775 |
SNN128 | black | white | 1.0 | 0.85 | 0.775 |
SNN128 | black | white | 2.0 | 0.8125 | 0.7625 |
SNN128 | black | white | 4.0 | 0.875 | 0.8 |
SNN128 | white | black | 0.5 | 0.8 | 0.7625 |
SNN128 | white | black | 1.0 | 0.875 | 0.8 |
SNN128 | white | black | 2.0 | 0.8625 | 0.825 |
SNN128 | white | black | 4.0 | 0.7625 | 0.7 |
SNN8 | black | white | 0.5 | 0.775 | 0.85 |
SNN8 | black | white | 1.0 | 0.7875 | 0.7375 |
SNN8 | black | white | 2.0 | 0.825 | 0.8125 |
SNN8 | black | white | 4.0 | 0.85 | 0.7625 |
SNN8 | white | black | 0.5 | 0.75 | 0.775 |
SNN8 | white | black | 1.0 | 0.875 | 0.8875 |
SNN8 | white | black | 2.0 | 0.7625 | 0.825 |
SNN8 | white | black | 4.0 | 0.725 | 0.75 |
References
- Patterson, D.; Gonzalez, J.; Hölzle, U.; Le, Q.; Liang, C.; Munguia, L.-M.; Rothchild, D.; So, D.; Texier, M.; Dean, J. The Carbon Footprint of Machine Learning Training Will Plateau, Then Shrink. Computer 2022, 55, 18–28. [Google Scholar] [CrossRef]
- Balasubramanian, V. Brain Power. Proc. Natl. Acad. Sci. USA 2021, 118, e2107022118. [Google Scholar] [CrossRef] [PubMed]
- Bing, Z.; Meschede, C.; Röhrbein, F.; Huang, K.; Knoll, A.C. A Survey of Robotics Control Based on Learning-Inspired Spiking Neural Networks. Front. Neurorobot. 2018, 12, 35. [Google Scholar] [CrossRef]
- Liu, J.; Lu, H.; Luo, Y.; Yang, S. Spiking neural network-based multi-task autonomous learning for mobile robots. Eng. Appl. Artif. Intell. 2021, 104, 104362. [Google Scholar] [CrossRef]
- Liu, J.; Hua, Y.; Yang, R.; Luo, Y.; Lu, H.; Wang, Y.; Yang, S.; Ding, X. Bio-Inspired Autonomous Learning Algorithm with Application to Mobile Robot Obstacle Avoidance. Front. Neurosci. 2022, 16, 905596. [Google Scholar] [CrossRef]
- Russo, N.; Huang, H.; Nikolic, K. Live Demonstration: Neuromorphic Robot Goalie Controlled by Spiking Neural Network. In Proceedings of the 2022 IEEE Biomedical Circuits and Systems Conference (BioCAS), Taipei, Taiwan, 13–15 October 2022; p. 249. [Google Scholar]
- Deng, X.; Weirich, S.; Katzschmann, R.; Delbruck, T. A Rapid and Robust Tendon-Driven Robotic Hand for Human-Robot Interactions Playing Rock-Paper-Scissors. In Proceedings of the IEEE RO-MAN 2024, Pasadena, CA, USA, 26–30 August 2024. [Google Scholar]
- Clawson, T.S.; Ferrari, S.; Fuller, S.B.; Wood, R.J. Spiking Neural Network (SNN) Control of a Flapping Insect-Scale Robot. In Proceedings of the 2016 IEEE 55th Conference on Decision and Control (CDC), Las Vegas, NV, USA, 12–14 December 2016; pp. 3381–3388. [Google Scholar]
- Cheng, R.; Mirza, K.B.; Nikolic, K. Neuromorphic robotic platform with visual input, processor and actuator, based on spiking neural networks. Appl. Syst. Innov. 2020, 3, 28. [Google Scholar] [CrossRef]
- Russo, N.; Huang, H.; Donati, E.; Madsen, T.; Nikolic, K. An Interface Platform for Robotic Neuromorphic Systems. Chips 2023, 2, 20–30. [Google Scholar] [CrossRef]
- Lobov, S.A.; Mikhaylov, A.N.; Shamshin, M.; Makarov, V.A.; Kazantsev, V.B. Spatial Properties of STDP in a Self-Learning Spiking Neural Network Enable Controlling a Mobile Robot. Front. Neurosci. 2020, 14, 88. [Google Scholar] [CrossRef] [PubMed]
- O’Connor, P.; Neil, D.; Liu, S.-C.; Delbruck, T.; Pfeiffer, M. Real-Time Classification and Sensor Fusion with a Spiking Deep Belief Network. Front. Neurosci. 2013, 7, 178. [Google Scholar] [CrossRef]
- Ivanov, D.; Chezhegov, A.; Kiselev, M.; Grunin, A.; Larionov, D. Neuromorphic artificial intelligence systems. Front. Neurosci. 2022, 16, 959626. [Google Scholar] [CrossRef]
- Furber, S.B.; Galluppi, F.; Temple, S.; Plana, L.A. The SpiNNaker Project. Proc. IEEE 2014, 102, 652–665. [Google Scholar] [CrossRef]
- Davies, M.; Srinivasa, N.; Lin, T.-H.; Chinya, G.; Cao, Y.; Choday, S.H.; Dimou, G.; Joshi, P.; Imam, N.; Jain, S.; et al. Loihi: A Neuromorphic Manycore Processor with On-Chip Learning. IEEE Micro 2018, 38, 82–99. [Google Scholar] [CrossRef]
- Akopyan, F.; Sawada, J.; Cassidy, A.; Alvarez-Icaza, R.; Arthur, J.; Merolla, P.; Imam, N.; Nakamura, Y.; Datta, P.; Nam, G.-J.; et al. TrueNorth: Design and Tool Flow of a 65 mW 1 Million Neuron Programmable Neurosynaptic Chip. IEEE Trans. Comput.-Aided Des. Integr. Circuits Syst. 2015, 34, 1537–1557. [Google Scholar] [CrossRef]
- Linares-Barranco, B.; Serrano-Gotarredona, T.; Camuñas-Mesa, L.A.; Perez-Carrasco, J.A.; Zamarreño-Ramos, C.; Masquelier, T. On Spike-Timing-Dependent-Plasticity, Memristive Devices, and Building a Self-Learning Visual Cortex. Front. Neurosci. 2011, 5, 26. [Google Scholar] [CrossRef]
- Basu, A.; Acharya, J.; Karnik, T.; Liu, H.; Li, H.; Seo, J.-S.; Son, C. Low-Power, Adaptive Neuromorphic Systems: Recent Progress and Future Directions. IEEE J. Emerg. Sel. Top. Circuits Syst. 2018, 8, 6. [Google Scholar] [CrossRef]
- Natale, L.; Bartolozzi, C.; Nori, F.; Sandini, G.; Metta, G. iCub. arXiv 2021, arXiv:2105.02313. [Google Scholar]
- Chou, T.-S.; Bucci, L.D.; Krichmar, J.L. Learning touch preferences with a tactile robot using dopamine modulated stdp in a model of insular cortex. Front. Neurorobot. 2015, 9, 6. [Google Scholar] [CrossRef]
- Liu, S.-C.; Delbruck, T. Neuromorphic sensory systems. Curr. Opin. Neurobiol. 2010, 20, 1–8. [Google Scholar] [CrossRef]
- Baby, S.A.; Vinod, B.; Chinni, C.; Mitra, K. Dynamic Vision Sensors for Human Activity Recognition. In Proceedings of the 2017 4th IAPR Asian Conference on Pattern Recognition (ACPR), Nanjing, China, 26–29 November 2017. [Google Scholar] [CrossRef]
- Maass, W. Networks of Spiking Neurons: The Third Generation of Neural Network Models. Neural Netw. 1997, 10, 1659–1671. [Google Scholar] [CrossRef]
- Juarez-Lora, A.; Ponce-Ponce, V.H.; Sossa, H.; Rubio-Espino, E. R-STDP Spiking Neural Network Architecture for Motion Control on a Changing Friction Joint Robotic Arm. Front. Neurorobot. 2022, 16, 904017. [Google Scholar] [CrossRef]
- Diehl, P.; Cook, M. Unsupervised Learning of Digit Recognition Using Spike-Timing-Dependent Plasticity. Front. Comput. Neurosci. 2015, 9, 99. [Google Scholar] [CrossRef] [PubMed]
- Russo, N.; Yuzhong, W.; Madsen, T.; Nikolic, K. Pattern Recognition Spiking Neural Network for Classification of Chinese Characters. In Proceedings of the ESANN 2023 Proceedings, European Symposium on Artificial Neural Networks, Computational Intelligence and Machine Learning, Bruges, Belgium, 4–6 October 2023. [Google Scholar] [CrossRef]
- Bohté, S.M.; Kok, J.N.; Poutré, H.L. SpikeProp: Backpropagation for Networks of Spiking Neurons. In Proceedings of the ESANN 2000 Proceedings, European Symposium on Artificial Neural Networks, Computational Intelligence and Machine Learning, Bruges, Belgium, 26–28 April 2000; Volume 48, pp. 419–424. [Google Scholar]
- Stimberg, M.; Brette, R.; Goodman, D.F. Brian 2, an Intuitive and Efficient Neural Simulator. eLife 2019, 8, e47314. [Google Scholar] [CrossRef] [PubMed]
- Xue, J.; Xie, L.; Chen, F.; Wu, L.; Tian, Q.; Zhou, Y.; Ying, R.; Liu, P. EdgeMap: An Optimized Mapping Toolchain for Spiking Neural Network in Edge Computing. Sensors 2023, 23, 6548. [Google Scholar] [CrossRef] [PubMed]
- Raspberry Pi 5 Single Board Computer. Available online: https://www.raspberrypi.com/5 (accessed on 3 February 2024).
- Katz, M.L.; Nikolic, K.; Delbruck, T. Live Demonstration: Behavioural Emulation of Event-Based Vision Sensors. In Proceedings of the 2012 IEEE International Symposium on Circuits and Systems, Seoul, Republic of Korea, 20–23 May 2012; pp. 736–740. [Google Scholar]
- Lichtsteiner, P.; Posch, C.; Delbruck, T. A 128 × 128 120 dB 15 Latency Asynchronous Temporal Contrast Vision Sensor. IEEE J. Solid-State Circuits 2008, 43, 566–576. [Google Scholar] [CrossRef]
- iniVation, AG. Libcaer Documentation. Available online: https://libcaer.inivation.com (accessed on 5 February 2024).
- Yue, D. PyAer Documentation. GitHub. Available online: https://github.com/duguyue100/pyaer (accessed on 14 March 2024).
- Raspberry Pi Foundation. GPIO Zero Documentation. Available online: https://gpiozero.readthedocs.io (accessed on 19 March 2024).
- Grinberg, M. Flask Web Development: Developing Web Applications with Python; O’Reilly Media: Sebastopol, CA, USA, 2018. [Google Scholar]
- Huang, X.; Li, Z.; Xiang, Y.; Ni, Y.; Chi, Y.; Li, Y.; Yang, L.; Peng, X.B.; Sreenath, K. Creating a Dynamic Quadrupedal Robotic Goalkeeper with Reinforcement Learning. In Proceedings of the 2023 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Detroit, MI, USA, 1–5 October 2023. [Google Scholar] [CrossRef]
- Katz, B.; Carlo, J.D.; Kim, S. Mini Cheetah: A Platform for Pushing the Limits of Dynamic Quadruped Control. In Proceedings of the 2019 International Conference on Robotics and Automation (ICRA), Montreal, QC, Canada, 20–24 May 2019; pp. 6295–6301. [Google Scholar]
- Wise, M.; Ferguson, M.; King, D.; Diehr, E.; Dymesich, D. Fetch and Freight: Standard Platforms for Service Robot Applications. In Proceedings of the Workshop on Autonomous Mobile Service Robots, New York, NY, USA, 9–15 July 2016; Available online: https://docs.fetchrobotics.com/FetchAndFreight2016.pdf (accessed on 21 August 2024).
Raspberry Pi 5 SBC | ||||
---|---|---|---|---|
Pins | N Pins | Type | Voltage | |
Servo | 12 (data), 4 Vin, 6 Gnd (power) | 3 | PWM | 5 V |
Touch Sensor | 16 (data), 2 Vin, 14 Gnd (power) | 3 | Digital | 5 V |
DVS | USB | n/a | Serial | 5 V |
Power (power bank) | USB-C | n/a | DC | 5 V |
Parameter | Value | Unit |
---|---|---|
0 | mV | |
mV | ||
40 | ms | |
20 | ms | |
mV | ||
mV | ||
10 | ms | |
ms | ||
net operation event | 1 | ms |
sim interval | 50 | ms |
on_pre | - | |
gmax | - |
Trajectory Type | ||||
---|---|---|---|---|
Device | Model | Straight in Lane | Straight Random | Overall Accuracy |
RaspiSNN | SNN 8 | 0.98 | 0.80 | 0.89 |
SNN 128 | 0.96 | 0.78 | 0.87 | |
Laptop a | SNN 8 | 0.98 | 0.80 | 0.89 |
SNN 128 | 0.98 | 0.81 | 0.90 |
Name | Description | Vision Sensor | Power Consumption | Positioning Time | Accuracy |
---|---|---|---|---|---|
RaspiSNN (this work) | Single Board Computer Platform which runs MCU and SNN simulations, performing all tasks on the OS. DVS camera connected to USB host, and a touch sensor and a servo motor to GPIO ports. | iniVation Dynamic Vision Sensor 128 | ∼20 W (Whole system max, unoptimised) | max 0.154 s (with reset max 0.100 s)/1 m field | 80% |
spiNNaLink [10] | Interface Board Platform to link an MCU with a SpiNNaker board and a DVS camera. | iniVation Dynamic Vision Sensor 128 | ∼7 W (Whole system max) | 0.150 s/1 m field | 75% |
Quadrupedal Robotic Goalkeeper [37] | The Intel camera is used to track the target ball and send the prediction to the Mini Cheetah. A GPU is used to train the model using the YOLO algorithm. | Intel RealSense D435i | 120 W (Mini Cheetah max) [38] | 0.5 s/4 m field | (sidestep) ∼65% (full) ∼85% |
iCub v1.0/v2.0 (Intel ATOM D525) [19] | Humanoid robot with an embedded PC. It is composed by different actuators to simulate human motions. | PointGrey Dragonfly 2 (640 × 480) at 30 fps | 288 W (960 W peak) | n/a | n/a |
Fetch (and Freight) (Intel i5, Haswell) [39] | Fetch robot is a mobile manipulator to catch and move objects (until 6 kg) | Primesense Carmine 1.09 | 20 W (36 W peak) | n/a | n/a |
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2024 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
Russo, N.; Madsen, T.; Nikolic, K. An Implementation of Communication, Computing and Control Tasks for Neuromorphic Robotics on Conventional Low-Power CPU Hardware. Electronics 2024, 13, 3448. https://doi.org/10.3390/electronics13173448
Russo N, Madsen T, Nikolic K. An Implementation of Communication, Computing and Control Tasks for Neuromorphic Robotics on Conventional Low-Power CPU Hardware. Electronics. 2024; 13(17):3448. https://doi.org/10.3390/electronics13173448
Chicago/Turabian StyleRusso, Nicola, Thomas Madsen, and Konstantin Nikolic. 2024. "An Implementation of Communication, Computing and Control Tasks for Neuromorphic Robotics on Conventional Low-Power CPU Hardware" Electronics 13, no. 17: 3448. https://doi.org/10.3390/electronics13173448
APA StyleRusso, N., Madsen, T., & Nikolic, K. (2024). An Implementation of Communication, Computing and Control Tasks for Neuromorphic Robotics on Conventional Low-Power CPU Hardware. Electronics, 13(17), 3448. https://doi.org/10.3390/electronics13173448