Skip to content
Samuele Zoppi edited this page Sep 28, 2020 · 18 revisions

NCSbench - Reproducible Benchmarking Platform for Networked Control Systems

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.

Two Way Inverted Pendulum Robot Assembly

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

and won the Best Demo Award at the CCNC 2020, Las Vegas.


1. Getting Started

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.

Step-by-step NCS benchmarking

Two Way Inverted Pendulum Robot


2. Documentation of NCSbench platform

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.


3. Contributors & Acknowledgements

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.


4. License

This project is licensed under the MIT License - see the LICENSE.md file for details