-
Notifications
You must be signed in to change notification settings - Fork 5
Home
With this project, we provide the first open-source platform that enables the benchmarking of NCS: NCSbench.
A Networked Control System (NCS) is a control system that operates over a communication network and consists of a sensor, an actuator, a control logic, and a physical robot under control.
Our NCS platform is built using the Lego Mindstorms, communicates using standard TPC/IP network interfaces, and is programmed using the Python programming language.
We create this by combining the joint expertise of control systems, computing systems, and communication network domains. The implementation was developed keeping in mind reproducibility design principles, providing a platform that can easily be reproduced and deployed by anybody. All the software and hardware components used in the platform are low-cost and highly accessible.
NCSbench was used in research projects in the following publications
- S. Zoppi, O. Ayan, F. Molinari, Z. Music, S. Gallenmüller, G. Carle, W. Kellerer, "NCSbench: Reproducible Benchmarking Platform for Networked Control Systems", 2020 IEEE 17th Annual Consumer Communications & Networking Conference (CCNC)
- S. Gallenmüller, S. Günther, M. Leclaire, S. Zoppi, F. Molinari, R. Schöffauer, W. Kellerer, G. Carle, "Benchmarking Networked Control Systems", in CPSBench2018 (CPSWeek 2018)
- Z. Music, F. Molinari, S. Gallenmüller, O. Ayan, S. Zoppi, W. Kellerer, G. Carle, T. Seel, J. Raisch, "Design Of a Networked Controller For a Two-Wheeled Inverted Pendulum Robot", IFAC-PapersOnLine 52.20 (2019): 169-174
and won the Best Demo Award at the CCNC 2020, Las Vegas.
The following set up instructions will get you a copy of the NCSbench platform up and running on your local machine for development and testing purposes.
NCSbench can be extended to benchmark different types of control algorithms in combination with arbitrary communication networks.
For this reason, the NCSbench platform comes with its own documentation, which can be generated by running the command doxygen
in the docs subfolder, and specific descriptions of the control, communication, and logging mechanisms.
Onur Ayan, Sebastian Gallenmüller, Fabio Molinari, Samuele Zoppi, Zenit Music and Thomas Seel.
This work was supported by the DFG Priority Programme 1914 Cyber-Physical Networking grant numbers KE1863/5-1, RA516/12-1, and CA595/71.
We would like to thank Ms. Eleonora Potestio for shooting the videos of the platform.
This project is licensed under the MIT License - see the LICENSE.md file for details